#include "databaseop.h"
#include "mainwindow.h"

databaseOP::databaseOP()
{
    // 检查是否已经有默认的数据库连接
    if (QSqlDatabase::contains("qt_sql_default_connection") == true)
    {
        // 直接返回数据库对象
        database = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        // 建立新的 SQLite 数据库连接
        database = QSqlDatabase::addDatabase("QSQLITE");
        database.setDatabaseName("MyDataBase.db");
        qDebug() << "重新连接数据库" << endl;
    }

    // 打开数据库连接
    if (!database.open())
    {
        qDebug() << "Error: Failed to connect to database." << database.lastError();
    }
}

databaseOP::~databaseOP()
{
    // 关闭数据库连接
    if (database.isOpen()) {
        database.close();
    }
}

bool databaseOP::excutSql(QSqlQuery &query, const QString &sql)
{
    if (!database.isOpen()) {
        qDebug() << "Database is not open!";
        return false;
    }

    // 准备执行 SQL 语句
    query.prepare(sql);

    // 执行 SQL 查询
    if (!query.exec()) {
        qDebug() << "Error executing SQL: " << query.lastError().text();
        return false;
    }

    qDebug() << "SQL executed successfully: " << sql;
    return true;
}
